home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / langs / xlisp2.1 / xldist02.zoo / sources / xlglob.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-11-09  |  2.8 KB  |  89 lines

  1. /* xlglobals - xlisp global variables */
  2. /*    Copyright (c) 1985, by David Michael Betz
  3.         All Rights Reserved
  4.         Permission is granted for unrestricted non-commercial use    */
  5.  
  6. #include "xlisp.h"
  7.  
  8. /* symbols */
  9. LVAL true=NIL,obarray=NIL;
  10. LVAL s_unbound=NIL,s_dot=NIL;
  11. LVAL s_quote=NIL,s_function=NIL;
  12. LVAL s_bquote=NIL,s_comma=NIL,s_comat=NIL;
  13. LVAL s_evalhook=NIL,s_applyhook=NIL,s_tracelist=NIL;
  14. LVAL s_lambda=NIL,s_macro=NIL;
  15. LVAL s_stdin=NIL,s_stdout=NIL,s_stderr=NIL,s_debugio=NIL,s_traceout=NIL;
  16. LVAL s_rtable=NIL;
  17. LVAL s_tracenable=NIL,s_tlimit=NIL,s_breakenable=NIL;
  18. LVAL s_setf=NIL,s_car=NIL,s_cdr=NIL,s_nth=NIL,s_aref=NIL,s_get=NIL;
  19. LVAL s_svalue=NIL,s_sfunction=NIL,s_splist=NIL;
  20. LVAL s_eql=NIL,s_gcflag=NIL,s_gchook=NIL;
  21. LVAL s_ifmt=NIL,s_ffmt=NIL;
  22. LVAL s_1plus=NIL,s_2plus=NIL,s_3plus=NIL;
  23. LVAL s_1star=NIL,s_2star=NIL,s_3star=NIL;
  24. LVAL s_minus=NIL,s_printcase=NIL;
  25. LVAL s_printlevel=NIL, s_printlength=NIL;
  26. LVAL s_dosinput=NIL;
  27. #ifdef COMMONLISP
  28. LVAL s_elt = NIL;
  29. #endif
  30.  
  31.  
  32. /* keywords */
  33. LVAL k_test=NIL,k_tnot=NIL;
  34. LVAL k_wspace=NIL,k_const=NIL,k_nmacro=NIL,k_tmacro=NIL;
  35. LVAL k_sescape=NIL,k_mescape=NIL;
  36. LVAL k_direction=NIL,k_input=NIL,k_output=NIL;
  37. LVAL k_start=NIL,k_end=NIL,k_1start=NIL,k_1end=NIL;
  38. LVAL k_2start=NIL,k_2end=NIL,k_count=NIL,k_key=NIL;
  39. LVAL k_verbose=NIL,k_print=NIL;
  40. LVAL k_upcase=NIL,k_downcase=NIL;
  41. #ifdef BETTERIO
  42. LVAL k_io=NIL, k_elementtype=NIL;
  43. #endif
  44.  
  45. /* lambda list keywords */
  46. LVAL lk_optional=NIL,lk_rest=NIL,lk_key=NIL,lk_aux=NIL;
  47. LVAL lk_allow_other_keys=NIL;
  48.  
  49. /* type names */
  50. LVAL a_subr=NIL,a_fsubr=NIL;
  51. LVAL a_cons=NIL,a_symbol=NIL,a_fixnum=NIL,a_flonum=NIL;
  52. LVAL a_string=NIL,a_object=NIL,a_stream=NIL,a_vector=NIL;
  53. LVAL a_closure=NIL,a_char=NIL,a_ustream=NIL;
  54.  
  55. /* evaluation variables */
  56. LVAL **xlstack = NULL,**xlstkbase = NULL,**xlstktop = NULL;
  57. LVAL xlenv=NIL,xlfenv=NIL,xldenv=NIL;
  58.  
  59. /* argument stack */
  60. LVAL *xlargstkbase = NULL;    /* argument stack base */
  61. LVAL *xlargstktop = NULL;    /* argument stack top */
  62. LVAL *xlfp = NULL;        /* argument frame pointer */
  63. LVAL *xlsp = NULL;        /* argument stack pointer */
  64. LVAL *xlargv = NULL;        /* current argument vector */
  65. int xlargc = 0;            /* current argument count */
  66.  
  67. /* exception handling variables */
  68. CONTEXT *xlcontext = NULL;    /* current exception handler */
  69. CONTEXT *xltarget = NULL;    /* target context (for xljump) */
  70. LVAL xlvalue=NIL;        /* exception value (for xljump) */
  71. int xlmask=0;            /* exception type (for xljump) */
  72.  
  73. /* debugging variables */
  74. int xldebug = 0;        /* debug level */
  75. int xlsample = 0;        /* control character sample rate */
  76. int xltrcindent = 0;        /* trace indent level */
  77.  
  78. /* gensym variables */
  79. char gsprefix[STRMAX+1] = { 'G',0 };    /* gensym prefix string */
  80. FIXTYPE gsnumber = 1;        /* gensym number */
  81.  
  82. /* i/o variables */
  83. int xlfsize = 0;        /* flat size of current print call */
  84. FILE *tfp = NULL;        /* transcript file pointer */
  85.  
  86. /* general purpose string buffer */
  87. char buf[STRMAX+1] = { 0 };
  88.  
  89.